from typing import Union, List, Optional
from fastapi import FastAPI, Form
from pydantic import BaseModel, Field, ValidationError, validator, validators
import uvicorn
from datetime import date
import sys
import os

app = FastAPI()

@app.post("/register")
async def register(username: str = Form(..., max_length=16, min_length=8, pattern='[a-zA-Z]'), password: str = Form(..., max_length=16, min_length=8, pattern='[0-9]')):
    print(f"username: {username}, password: {password}")
    return {"username": username}


if __name__ == '__main__':
    print(sys.argv)

    # 获取当前文件的完整路径
    file_path = __file__
    # 获取文件名
    file_name = os.path.basename(file_path)
    print(file_name)

    start_args = file_name.split(".py")[0] + ":app"

    uvicorn.run(start_args, host="127.0.0.1", port=8000, reload=True)